package com.summer.JavaUsefulClass;

import org.junit.Test;

public class StringBufferBuilderTest {
    //String 不可变的字符序列 底层用char[] 存储
    //StringBuffer :可变的字符序列,线程安全,效率低 底层用char[] 存储
    //如果要添加的数据底层数组盛不下了，那就需要扩容底层的数组
    //默认情况下，扩容为原来容量的2倍+2，同时将原有数组中的元素复制到新数组中
    //建议使用 StringBuffer(int capacity)或StringBuilder(int capacity)
    //StringBuilder:可变的字符序列 底层用char[] 存储
    //总结:增、删、改、查、插、长度、遍历
    @Test
    public void test1(){
        StringBuffer sb1 = new StringBuffer("abc");
        sb1.setCharAt(0,'b');
        System.out.println(sb1);

    }
    @Test
    public void test2(){
        StringBuffer s1 = new StringBuffer("abc");
        s1.append(1);
        s1.append('1');
        s1.delete(0,2);//左闭右开
        s1.replace(0,3,"hello");
        s1.insert(2,false);
        s1.reverse();
        System.out.println(s1.substring(1, 3));//左闭右开
        System.out.println(s1);
        String s = s1.toString();
        System.out.println(s);
    }

}
